package com.ruoyi.project.punch.domain;

import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.framework.aspectj.lang.annotation.Excel;
import com.ruoyi.framework.web.domain.BaseEntity;

/**
 * 打卡记录对象 punch_record
 * 
 * @author zhf
 * @date 2022-11-05
 */
public class PunchRecord extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /**  */
    private Long id;

    /** 组id */
    @Excel(name = "组id")
    private Long groupId;

    /** 组名 */
    @Excel(name = "组名")
    private String groupName;

    /** 员工id */
    @Excel(name = "员工id")
    private Long memberId;

    /** 员工名 */
    @Excel(name = "员工名")
    private String memberName;

    /** 员工类型id */
    @Excel(name = "员工类型id")
    private String memberTypeId;

    /** 员工类型名 */
    @Excel(name = "员工类型名")
    private String memberTypeName;

    /** 打卡类型id */
    @Excel(name = "打卡类型id")
    private String punchType;

    /** 班次 */
    @Excel(name = "班次")
    private String shift;

    /** 打卡时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "打卡时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date punchTime;

    /** 打卡状态 */
    @Excel(name = "打卡状态")
    private String punchStatus;

    /** 状态 */
    @Excel(name = "状态")
    private String status;

    public void setId(Long id) 
    {
        this.id = id;
    }

    public Long getId() 
    {
        return id;
    }
    public void setGroupId(Long groupId) 
    {
        this.groupId = groupId;
    }

    public Long getGroupId() 
    {
        return groupId;
    }
    public void setGroupName(String groupName) 
    {
        this.groupName = groupName;
    }

    public String getGroupName() 
    {
        return groupName;
    }
    public void setMemberId(Long memberId) 
    {
        this.memberId = memberId;
    }

    public Long getMemberId() 
    {
        return memberId;
    }
    public void setMemberName(String memberName) 
    {
        this.memberName = memberName;
    }

    public String getMemberName() 
    {
        return memberName;
    }
    public void setMemberTypeId(String memberTypeId) 
    {
        this.memberTypeId = memberTypeId;
    }

    public String getMemberTypeId() 
    {
        return memberTypeId;
    }
    public void setMemberTypeName(String memberTypeName) 
    {
        this.memberTypeName = memberTypeName;
    }

    public String getMemberTypeName() 
    {
        return memberTypeName;
    }
    public void setPunchType(String punchType) 
    {
        this.punchType = punchType;
    }
    public String getShift()
    {
        return shift;
    }
    public void setShift(String shift)
    {
        this.shift = shift;
    }
    public String getPunchType() 
    {
        return punchType;
    }
    public void setPunchTime(Date punchTime) 
    {
        this.punchTime = punchTime;
    }

    public Date getPunchTime() 
    {
        return punchTime;
    }
    public void setPunchStatus(String punchStatus) 
    {
        this.punchStatus = punchStatus;
    }

    public String getPunchStatus() 
    {
        return punchStatus;
    }
    public void setStatus(String status) 
    {
        this.status = status;
    }

    public String getStatus() 
    {
        return status;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("groupId", getGroupId())
            .append("groupName", getGroupName())
            .append("memberId", getMemberId())
            .append("memberName", getMemberName())
            .append("memberTypeId", getMemberTypeId())
            .append("memberTypeName", getMemberTypeName())
            .append("shift", getShift())
            .append("punchType", getPunchType())
            .append("punchTime", getPunchTime())
            .append("punchStatus", getPunchStatus())
            .append("status", getStatus())
            .append("createBy", getCreateBy())
            .append("createTime", getCreateTime())
            .append("updateBy", getUpdateBy())
            .append("updateTime", getUpdateTime())
            .toString();
    }
}
